package mapper;

import com.sqsf.javabean.User;

import java.util.List;

public interface UserMapper {
    List<User> selectAll();
    //在实际的开发中 可能会有各种的查询需求
    //User 属性可以作为查询条件的uid username phone
    //算上查询所有各种组合方式7种
    //selectByUid
    //selectByUsername
    //selectByPhone
    //selectByUidAndUsername
    //selectByUidAndPhone
    //selectByUsernameAndPhone
    //selectByUidAndUsernameAndPhone
    //分别书写也没有问题 但是如上方法sql语句仅有条件部分不同
    //如果能对sql语句进行修改 那么就无需实现那么多次了
    //mybatis动态sql标签 就是解决这一问题的方案
    //通过传入参数进行判断 拼接sql语句 实现sql的动态生成

    List<User> selectByUser(User user);


    //有时候我们需要根据传入的参数权重选择一个进行sql的操作
    List<User> selectByUserOne(User user);


    //修改数据一般根据主键修改其他数据
    //可能根据uid修改 username password phone

    int updateUser(User user);

    int trimTest();

    //根据数组删除数据
    int deleteByArray(int[] array);

    //根据集合添加数据
    int insertList(List<User> list);
}
